package com.kj.tms.pri.system.menu.service;


import com.kj.tms.common.bean.dto.Pager;
import com.kj.tms.pri.system.role.dto.RoleDto;
import com.kj.tms.pri.system.user.dto.UserDto;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @Author: wangguoqing
 * @Description: 用户权限管理业务类
 * @Date: Created in 10:40 2017/10/23
 * @Company: 北京宏图天安
 * @Version: 2017/10/23
 * @Modified By:
 */
public interface AssignPermissionService {
    static final  String BASE_URL = "/api/system/permission";
    /**
     * @Title:listRoleByPage
     * @Description  查询机构用户分配角色分页数据
     * @Method
     * @param model
     * @Return   Pager 分页
     * @Date: 2017年10月23日 17:42
     * @Author:wangguoqing
     * @version: 2017年10月23日
     */
    @RequestMapping(value = BASE_URL+"/listRoleByPage",method = RequestMethod.POST ,consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE})
    Pager listRoleByPage(@RequestBody(required = false) RoleDto model);

//    /**
//     * @Title:listOrgByPage
//     * @Description  查询用户权限管理机构下的人员信息分页数据
//     * @Method
//     * @param orgCode  机构ID
//     * @param userDto
//     * @Return   Pager 分页
//     * @Date: 2017年10月19日 17:42
//     * @Author:wangguoqing
//     * @version: 2017年10月19日
//     */
//    Pager listOrgByPage(String orgCode, UserDto userDto);

    /**
     *
     * @Title: listWaitUserByOrg
     * @Description: 查询等待分配的机构人员分页数据
     * @param userDto
     * @param orgCode
     * @return void 返回类型
     * @throws Exception
     */
    @RequestMapping(value = BASE_URL+"/listWaitUserByOrg",method = RequestMethod.POST ,consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE})
    Pager listWaitUserByOrg(@RequestBody(required = false) UserDto userDto, @RequestParam("orgCode") String orgCode);

    /**
     *
     * @Title: saveOrgByUser
     * @Description: 添加机构人员
     * @param userIds    用户Id   多个用','分割
     * @param orgCode  机构编码
     * @return void 返回类型
     * @throws Exception
     */
    @RequestMapping(value = BASE_URL+"/saveOrgByUser",method = RequestMethod.POST )
    void saveOrgByUser(@RequestParam("userIds") String userIds, @RequestParam("orgCode") String orgCode);

    /**
     *
     * @Title: deleteByUser
     * @Description: 删除人员机构数据
     * @param userId   用户Id
     * @param orgCode   机构ID
     * @return void 返回类型
     * @throws Exception
     */
    @RequestMapping(value = BASE_URL+"/deleteByUser",method = RequestMethod.POST )
    void  deleteByUser(@RequestParam("userId") String userId, @RequestParam("orgCode") String orgCode);

    /**
     *
     * @Title: addRolePersonnel
     * @Description: 添加机构人员角色
     * @param roleIds
     * @param orgCode
     * @param userId
     * @return void 返回类型
     * @throws Exception
     */
    @RequestMapping(value = BASE_URL+"/saveRoleByOrgPersonal",method = RequestMethod.POST )
    void saveRoleByOrgPersonal(@RequestParam("roleIds") String roleIds,
                               @RequestParam("orgCode") String orgCode,
                               @RequestParam("userId") String userId);
}
